﻿package Message.Public
{
    import Engine.RMI.*;
    import Framework.Serialize.*;

    public class EKickOutReason extends Object
    {
        public var __value:int;
        public static const _EKickOutReasonBegin:int = 0;
        public static const _EKickOutReasonByCloseCell:int = 1;
        public static const _EKickOutReasonByCloseGateMgr:int = 2;
        public static const _EKickOutReasonByCloseGate:int = 3;
        public static const _EKickOutReasonByCloseCenter:int = 4;
        public static const _EKickOutReasonByCloseDbApp:int = 5;
        public static const _EKickOutReasonByElseLogin:int = 6;
        public static const _EKickOutReasonByIssmThreeHour:int = 7;
        public static const _EKickOutReasonByIssmOfflineTimeLessFiveHour:int = 8;
        public static const _EKickOutReasonByLockPlayer:int = 9;
        public static const _EKickOutReasonByGMOperation:int = 10;
        public static const _EKickOutReasonByDbUpdateFail:int = 11;
        public static const _EKickOutReasonByErrorVersion:int = 12;
        public static const _EKickOutReasonByDataError:int = 13;
        public static const _EKickOutReasonEnd:int = 14;

        public function EKickOutReason(param1:int)
        {
            this.__value = param1;
            return;
        }// end function

        public function value() : int
        {
            return this.__value;
        }// end function

        public function __write(param1:SerializeStream) : void
        {
            param1.writeByte(this.__value);
            return;
        }// end function

        public static function convert(param1:int) : EKickOutReason
        {
            return new EKickOutReason(param1);
        }// end function

        public static function __read(param1:SerializeStream) : EKickOutReason
        {
            var _loc_2:* = param1.readByte();
            if (_loc_2 < 0 || _loc_2 >= 15)
            {
                throw new MarshalException();
            }
            return EKickOutReason.convert(_loc_2);
        }// end function

    }
}
